package main.java;

/**
 * @program: pratice
 * @author: 关键我是大怪
 * @create: 2021-09-09 18:59
 */


/**
 * 题目：
 * 给你一个整数数组 nums ，除某个元素仅出现 一次 外，其余每个元素都恰出现 三次 。
 * 请你找出并返回那个只出现了一次的元素。
 */

public class Test15_只出现一次的数字 {
    public int singleNumber(int[] nums) {
        int ret = 0;
        for (int i = 0; i < 32; i++) {
            int cnt = 0;
            for (int num : nums) {
                cnt += num >> i & 1;
            }
            cnt = cnt % 3;
            ret += cnt << i;
        }
        return ret;
    }
}
